package com.wxyzz.satserver.pay.service;




import com.wxyzz.satserver.pay.param.PayParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface PayService {

    /**
     * 创建交易支付订单
     * 针对h5支付，返回特定格式字符串
     *
     * @return
     */
    String createPay(PayParam payParam);

    /**
     * 提供给支付宝调用的回调接口
     *
     * @param request
     * @param response
     * @return
     */
    void notify(HttpServletRequest request, HttpServletResponse response);

    /**
     * 根据业务订单号查询交易订单的状态
     *
     * @param orderNo
     */
    void status(String orderNo);

    /**
     * 关闭交易订单
     *
     * @param orderNo
     */
    void close(String orderNo);

    /**
     * 针对支付宝，根据returnurl调用时需要进行验签操作
     *
     * @param request
     * @param response
     */
    void returnNotify(HttpServletRequest request, HttpServletResponse response);
}
